home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 24 / CU Amiga Magazine's Super CD-ROM 24 (1998)(EMAP Images)(GB)(Track 1 of 2)[!][issue 1998-07].iso / CUCD / Programming / AMOSList / AMOSLIST / Font01.AMOS / Font01.amosSourceCode < prev    next >
Encoding:
AMOS Source Code  |  1998-05-09  |  3.1 KB  |  88 lines

  1. Dim _ONEX(54) : Dim _ONEY(54) : Dim _ONEXX(54) : Dim _ONEYY(54) : Dim _ONES(54)
  2. Dim TEMPA(10) : Dim TEMPB(10)
  3. Global _ONEX(),_ONEY(),_ONEXX(),_ONEYY(),_ONES()
  4. Global TEMPA(),TEMPB(),SC$,_SCREEN
  5. Unpack 6 To 2 : Screen Hide 2
  6. Proc _INSTALL_ONE
  7.  
  8. Procedure _INSTALL_ONE
  9.    DAT:
  10.    Data 1,0,38,37,38,40,0,54,37,16,56,0,83,37,28,85,0,109,38,26
  11.    Data 111,0,136,37,26,139,0,163,37,26,165,0,192,37,28,194,0
  12.    Data 215,37,22,218,0,244,37,28,246,0,273,37,28,1,40,33,77,34
  13.    Data 35,40,60,77,26,62,40,92,77,32,94,40,121,77,28,123,40,145,77,24,147,40,169,77
  14.    Data 24,171,40,201,77,32,203,40,230,77,28,234,40,241,77,8
  15.    Data 247,40,269,77,24,1,80,28,117,28,30,80,50,117,22,51,80,97,117,48,99,80
  16.    Data 125,117,28,127,80,164,117,38,166,80,190,117,26,192,80,229,117
  17.    Data 38,231,80,255,117,26,1,120,28,157,28,30,120,53,157,24,55,120,84,157,30
  18.    Data 86,120,117,157,32,118,120,161,157,44,163,120,187,157,26,189,120,214,157,26
  19.    Data 216,120,238,157,24,1,168,8,205,8,12,168,37,190,26,38,168,45,205,8
  20.    Data 47,168,72,201,26,74,168,98,205,26,101,168,132,202,32
  21.    Data 134,168,161,205,28,164,168,171,179,8,173,168,188,205,16,190,168,205,205,16,207,168,222
  22.    Data 194,16,224,168,249,199,26,251,168,258,205,8,1,207,16,244,16,18,207
  23.    Data 43,234,26,45,207,82,244,38,86,207,93,229,8,96,207,118,244,24
  24.    Restore DAT
  25.    J$="0123456789abcdefghijklmnopqrstuvwxyz!-.�$%&'()*+,<=[:/"
  26.    For N=1 To 54 : I$=Mid$(J$,N,1)
  27.       Read _ONEX(N),_ONEY(N),_ONEXX(N),_ONEYY(N),_ONES(N)
  28.    Next N
  29. End Proc
  30. Procedure _DRAW_ONE
  31.    J$="0123456789abcdefghijklmnopqrstuvwxyz!-.�$%&'()*+,<=[:/"
  32.    For N=1 To Len(TEX$) : I$=Mid$(TEX$,N,1)
  33.       If I$=" "
  34.          AMO=20
  35.          Goto NXT
  36.       End If 
  37.       NUM=Instr(J$,Lower$(I$))
  38.       Screen Copy 1,_ONEX(NUM),_ONEY(NUM),_ONEXX(NUM),_ONEYY(NUM) To _SCREEN,POSX,POSY
  39.       AMO=_ONES(NUM)
  40.       NXT:
  41.       Add POSX,AMO
  42.    Next N
  43. End Proc
  44. Procedure _CEN_ONE
  45.    J$="0123456789abcdefghijklmnopqrstuvwxyz!-.�$%&'()*+,<=[:/"
  46.    _VAL=0
  47.    For N=1 To Len(TEX$) : I$=Mid$(TEX$,N,1)
  48.       If I$=" "
  49.          AMO=20
  50.          Goto NXT
  51.       End If 
  52.       NUM=Instr(J$,Lower$(I$))
  53.       AMO=_ONES(NUM)
  54.       NXT:
  55.       Add _VAL,AMO
  56.    Next N
  57.    POSX=(320-_VAL)/2
  58.    Proc _DRAW_ONE
  59. End Proc
  60. Procedure _SCROLL_ONE
  61.    Screen _SCREEN
  62.    Do 
  63.       TEMP=Varptr(SC$) : TEMP2=Len(SC$)
  64.       J$="0123456789abcdefghijklmnopqrstuvwxyz!-.�$%&'()*+,<=[:/ "
  65.       For LOP=0 To TEMP2-1
  66.          CNUM=Instr(J$,Mid$(SC$,LOP+1,1))
  67.          If CNUM=55 Then SCR=20 : Goto NXT
  68.          Screen Copy 2,_ONEX(CNUM),_ONEY(CNUM),_ONEXX(CNUM),_ONEYY(CNUM) To _SCREEN,288,1
  69.          SCR=_ONES(CNUM)
  70.          NXT:
  71.          For LOP1=0 To SCR Step 2
  72.             Screen Swap 
  73.             Wait Vbl 
  74.             K=Mouse Key
  75.             If K=1 and _STATUS=1
  76.                Pop Proc
  77.             End If 
  78.             Screen Copy Physic(_SCREEN),0,0,350,40 To Logic(_SCREEN),-2,0
  79.          Next LOP1
  80.       Next LOP
  81.    Loop 
  82. End Proc
  83.  
  84. Screen Open 0,350,40,16,Lowres : Paper 0 : Cls : Curs Off : Flash Off 
  85. Get Palette 2 : Screen 0 : _SCREEN=0 : Double Buffer 
  86. Screen Show 0 : Screen To Front 0
  87. SC$="mushroom pd is the best pd library around.    "
  88. Proc _SCROLL_ONE